﻿<DebuggerDisplay("Reduce {ReduceProduction} At {LookAhead.ToString()}")> _
Public NotInheritable Class Reduce
    Implements ILR1Action

    Private m_lookAhead As Terminal
    Public ReadOnly Property LookAhead() As Terminal
        Get
            Return m_lookAhead
        End Get
    End Property

    Private m_reduceProduction As Production
    Public ReadOnly Property ReduceProduction() As Production
        Get
            Return m_reduceProduction
        End Get
    End Property

    Public Sub New(ByVal lookAhead As Terminal, ByVal reduceProduction As Production)
        m_lookAhead = lookAhead
        m_reduceProduction = reduceProduction
    End Sub

    Private ReadOnly Property ConditionSymbol() As ProductionSymbol Implements ILR1Action.ConditionSymbol
        Get
            Return m_lookAhead
        End Get
    End Property
End Class
